60 POKE 34,23: CALL HM: PRINT "# OF PLAYERS (0 TO 3, <ESC> TO QUIT)?";: GET A$: ON A$ = CHR$(27) GOTO 1630:P = VAL(A$): PRINT P: IF P <0 OR P >3 THEN 60
65 IF A$ = CHR$(13) THEN 60
70 P = INT(P): IF NOT P THEN 1630
80 FOR X = 1 TO P:CH%(X) = 0:DT%(X) = 0: NEXT X
90 CALL HM: INPUT "$1, $2 OR $5 TABLE ?";I: IF I < >1 AND I < >2 AND I < >5 THEN 90
100 MX = 100 *I:MN = I: PRINT "<CTRL-0x12>T<CTRL-0x13>ABLE MINIMUM IS $";MN;" AND LIMIT IS $";MX;: GOSUB 1330: GOSUB 1330:NS = 2:TP = 52: GOSUB 1610: GOTO 1030
110 PT = 53:LP = 52: FOR X = 0 TO 51:D%(X +1) = X: NEXT X:S = 0:TP = LP: GOSUB 120:NS = 0: GOTO 140
120 GOSUB 1580: IF PT = 53 THEN PRINT "<CTRL-0x12>N<CTRL-0x13>EW DECK...";
430 FOR X = 1 TO P: GOSUB 580:S = 0:U(1) = 0:U(2) = 0:U(3) = 0:U(4) = 0: IF CN < >21 THEN 450
440 GOSUB 1320: GOTO 550
450 GOSUB 1590: CALL NM: GOSUB 1550
460 GOSUB 1580: IF PS <2 THEN 490
470 PRINT "1-<CTRL-0x12>H<CTRL-0x13>IT 2-<CTRL-0x12>S<CTRL-0x13>TAND ";: INPUT I: IF I <1 OR I >2 THEN 460
480 GOTO 500
490 GOSUB 1580: PRINT "1-<CTRL-0x12>H<CTRL-0x13>IT 2-<CTRL-0x12>S<CTRL-0x13>TAND 3-<CTRL-0x12>D<CTRL-0x13>OUBLE 4-<CTRL-0x12>S<CTRL-0x13>PLIT ";: INPUT I: IF I <1 OR I >4 THEN 490
500 GOSUB 1590: CALL IN: GOSUB 1550: ON I GOTO 510,520,530,540
510 GOSUB 650: GOTO 450
520 GOTO 670
530 GOTO 680
540 GOSUB 720: GOTO 450
550 IF S = 0 THEN 570
560 GOSUB 1530: GOSUB 780: GOTO 450
570 NEXT X: GOTO 840
580 CN = 0:AC = 0: FOR Y = 0 TO 7:M = 13:VL = FN MD(H%(Y *4 *(P +1) +S *(P +1) +X)) +1: IF VL >10 THEN VL = 10
590 IF VL <0 THEN VL = 0
600 IF VL = 1 THEN AC = AC +1
610 CN = CN +VL: IF CN = 0 THEN Y = 7
620 NEXT Y: IF AC = 0 THEN RETURN
630 IF CN <12 THEN CN = CN +10
640 RETURN
650 PS = PS +1:UP = 1: GOSUB 1600: GOSUB 340: GOSUB 580: IF X < >(P +1) AND CN >21 THEN 1340
780 GOSUB 1620: FOR PS = 0 TO 5: GOSUB 1600: IF PS >1 THEN 800
790 C = H%(PS *4 *(P +1) +S *(P +1) +X): GOSUB 410: NEXT PS
800 NEXT PS:PS = 1: RETURN
810 NG = 0:CN = 0: FOR Y = 0 TO 3:I = H%(32 *(P +1) +Y *(P +1) +X): IF SGN(I +1) THEN CN = CN +I
820 NEXT Y:CN = CN +H%(32 *(P +1) +X): IF SGN(CH%(X) -CN) < > -1 THEN RETURN
830 NG = 1: RETURN
840 X = P +1:PS = 0:C = H%(X): GOSUB 1600: GOSUB 410:PS = 1:C = H%(5 *X): GOSUB 1600: GOSUB 410:HD = 0: FOR X = 1 TO P: FOR S = 0 TO 3: GOSUB 580:HD = HD +CN: NEXT S,X:X = P +1:S = 0: IF HD = 0 THEN 910
1070 GOSUB 1580: PRINT "<CTRL-0x12>P<CTRL-0x13>RESS '<CTRL-0x12>A<CTRL-0x13>' TO ADD A NEW PLAYER";: FOR T = 1 TO 250: IF PEEK( -16384) = 193 OR PEEK( -16384) = 225 THEN 1090
1080 NEXT T: GOTO 1100
1090 POKE -16368,0:P = P +1:CH%(P) = 0:DT%(P) = 0:T = 500: NEXT T: GOTO 1020
1100 GOSUB 1580: IF NS < >2 AND TP >(P +1) *6 THEN 140
1110 GOTO 110
1120 BJ = 0: GOSUB 1580: PRINT "<CTRL-0x12>I<CTRL-0x13>NSURANCE BETS (50%) PAY 2 TO 1";: GOSUB 580: IF CN = 21 THEN BJ = 1
1130 FOR X = 1 TO P:IP%(X) = 0: GOSUB 1590: GOSUB 1260: INPUT "<CTRL-0x12>I<CTRL-0x13>NSURANCE ?";A$: IF A$ = "" THEN A$ = "N"
1140 IF LEFT$(A$,1) < >"Y" AND LEFT$(A$,1) < >"y" THEN GOSUB 1590: GOTO 1180
1150 IP%(X) = INT(H%(32 *(P +1) +X)/2): GOSUB 1590: PRINT "$ <CTRL-0x12>INSURED $<CTRL-0x13>";: IF BJ THEN 1170
1450 PRINT "<CTRL-0x12>Y<CTRL-0x13>OU'RE DOWN $";DT%(X);"...";: GOTO 1470
1460 PRINT "<CTRL-0x12>Y<CTRL-0x13>OU'VE WON $"; ABS(DT%(X));"!...";
1470 PRINT "<CTRL-0x12>GOODBYE<CTRL-0x13>...";: GOSUB 1330: GOSUB 1330: GOSUB 1580: IF P < >1 THEN 1490
1480 POP : GOTO 40
1490 PRINT "<CTRL-0x12>E<CTRL-0x13>VERYONE SLIDE DOWN ONE!";: GOSUB 1330: GOSUB 1610: FOR I = X TO P:CH%(I) = CH%(I +1):DT%(I) = DT%(I +1): NEXT I:P = P -1: POP : GOTO 1030